software testing programming thin-client quality assurance hazard analysis radius3 haccp application programmer software design fmea safety testing developer